package com.example.yichuangyun.mvvm.di;

import android.app.Activity;

import com.example.yichuangyun.mvvm.di.scope.FragmentScope;
import com.example.yichuangyun.mvvm.ui.fragment.BusinessRecordFragment;
import com.example.yichuangyun.mvvm.ui.fragment.CallDetailsAnalysisFragment;
import com.example.yichuangyun.mvvm.ui.fragment.CallDetailsTextFragment;
import com.example.yichuangyun.mvvm.ui.fragment.ContactsDataDetailsFragment;
import com.example.yichuangyun.mvvm.ui.fragment.ContactsDetailsCallRecordFragment;
import com.example.yichuangyun.mvvm.ui.fragment.ContactsDetailsFollowRecordFragment;
import com.example.yichuangyun.mvvm.ui.fragment.CustomInfoFragment;
import com.example.yichuangyun.mvvm.ui.fragment.OfficialInfoFragment;
import com.example.yichuangyun.mvvm.ui.fragment.OrderBusinessFragment;
import com.example.yichuangyun.mvvm.ui.fragment.OrderFollowFragment;
import com.example.yichuangyun.mvvm.ui.fragment.OrderMoreFragment;
import com.example.yichuangyun.mvvm.ui.fragment.OrderServiceFragment;
import com.example.yichuangyun.mvvm.ui.fragment.SearchCompanyFragment;
import com.example.yichuangyun.ui.fragment.BusinessFragment;
import com.example.yichuangyun.ui.fragment.DetailsCallRecordFragment;
import com.example.yichuangyun.ui.fragment.DetailsDataFragment;
import com.example.yichuangyun.ui.fragment.DetailsFollowRecordFragment;
import com.example.yichuangyun.ui.fragment.DetailsOrderRecordFragment;
import com.example.yichuangyun.ui.fragment.IndexFragment;
import com.example.yichuangyun.ui.fragment.MineFragment;
import com.example.yichuangyun.ui.fragment.PhoneFragment;

import dagger.Component;

@FragmentScope
@Component(modules = FragmentModule.class, dependencies = AppComponent.class)
public interface FragmentComponent {
    Activity getActivity();

    void inject(ContactsDataDetailsFragment contactsDataDetailsFragment);

    void inject(BusinessRecordFragment businessRecordFragment);

    void inject(SearchCompanyFragment searchCompanyFragment);

    void inject(OfficialInfoFragment officialInfoFragment);

    void inject(CustomInfoFragment customInfoFragment);

    void inject(BusinessFragment businessFragment);

    void inject(DetailsCallRecordFragment detailsCallRecordFragment);

    void inject(DetailsDataFragment detailsDataFragment);

    void inject(DetailsFollowRecordFragment detailsFollowRecordFragment);

    void inject(DetailsOrderRecordFragment detailsOrderRecordFragment);

    void inject(IndexFragment indexFragment);

    void inject(MineFragment mineFragment);

    void inject(PhoneFragment phoneFragment);

    void inject(ContactsDetailsCallRecordFragment contactsDetailsCallRecordFragment);

    void inject(ContactsDetailsFollowRecordFragment contactsDetailsFollowRecordFragment);

    void inject(OrderServiceFragment orderServiceFragment);

    void inject(OrderBusinessFragment orderBusinessFragment);

    void inject(OrderFollowFragment orderFollowFragment);

    void inject(OrderMoreFragment orderMoreFragment);

    void inject(CallDetailsTextFragment orderMoreFragment);

    void inject(CallDetailsAnalysisFragment orderMoreFragment);
}
